Servo detection and demodulation are commonly used in disk/tape drives in which information is stored on multiple tracks on a storage medium. In order to increase the storage density of these devices, the tracks are placed closer together, resulting in a tighter tolerance specification for positioning the read/write head over the surface of the medium. In a magnetic disk drive, servo data are usually written on the storage medium once during the manufacture of the drive. The servo patterns typically contain gray-coded track/sector identification (ID) information as well as positioning error information. When read by a magnetic pickup head, these data patterns present themselves as analog waveforms corrupted by electronics and media noise. The servo pulse detection circuit converts the analog pulses in the gray-code ID field of the servo pattern into clearly distinguishable digital pulses so that the information can be further processed using simple logic circuits. A servo error demodulator circuit determines the positioning error of the head relative to the center of the nearest track the head is located on. Conventional servo pulse detectors are typically designed using analog peak detectors similar to the conventional peak detector circuit used for the main data channel in magnetic disk. Integrating the servo channel and the main data channel on a monolithic silicon chip is relatively simple and has been a cost effective solution. However, with the advent of digital maximum likelihood channels which improves the recording density of magnetic disk drives, the main data channel circuitry becomes predominantly digital. Implementing the servo channel using digital circuitry thus become more desirable to ease the integration of the servo and main data channels.
It is desirable to provide a digital circuit technique for servo pulse detection and servo error demodulation which are compatible with the circuit techniques used in a digital read channels.